package service;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;

import model.Farmacia;
import model.Vendedor;
import util.DataUtil;

public class VendedorService {
	
	protected EntityManager entityManager;
	
	public VendedorService(EntityManager entityManager) {
		this.entityManager = entityManager;
	}
	
	public Vendedor criaVendedor(String nome, long dataAdmi) {
		Vendedor vend = new Vendedor();
		vend.setNome(nome);
		vend.setDataAdmissao(DataUtil.criaData(dataAdmi));
		
		insereVendedor(vend);
		return vend;
	}
	
	public Vendedor alteraFarmacia(Long vendedorId, Farmacia farmacia) {
		Vendedor vend = entityManager.getReference(Vendedor.class, vendedorId);
		if (vend != null) {
			vend.setFarmacia(farmacia);
		}
		return vend;
	}
	
	public Vendedor findVendedor(Long id) {
		Vendedor Vendedor = entityManager.getReference(Vendedor.class, id);
		return Vendedor;
	}
	
	public List<Vendedor> listaVendedors() {
		TypedQuery<Vendedor> query = entityManager.createQuery(
				"SELECT e FROM Vendedor e", Vendedor.class);
		return query.getResultList();
	}
	
	public void deletaVendedors() {
		TypedQuery<Vendedor> query = entityManager.createQuery(
				"DELETE FROM Vendedor", Vendedor.class);
		query.executeUpdate();
	}
	
	public void insereVendedor(Vendedor emp) {
		entityManager.persist(emp);
	}
	
	public void removeVendedor(Long id) {
		Vendedor vend = findVendedor(id);
		if (vend != null) {
			entityManager.remove(vend);
		}
	}



}
